Continuity you can show.
Your tools forget.The layer remembers.Show the receipt.
Zephr sits above Claude Code, Cursor, Codex — so what you decide in one tool is still there in the next. Every memory keeps its sources, and nothing counts as true until a person confirms it.
handed off
used once
captured · sealed
Payment webhook retries are capped at 3 attempts.
sha256:9f2a7c41d8e6…
signature checked · verified on arrival
Illustrative example — not live data
Last Thursday your agent made a call. This Thursday nobody can say why.
It read four files, weighed two options, picked one — and the window closed. On Tuesday a different agent proposed the ruled-out option back to you, confidently.
Nothing was hidden. It simply was not written anywhere the second agent could read.
> how should we handle webhook retries?
I’d suggest unlimited retries with backoff — that should be safe here.
ruled out last Thursday — after a retry storm took the queue down
the agent had no way to know. that decision lived and died inside one closed window.
We are new, so we are not going to show you a wall of logos.
Here is what you can check instead, today, without talking to us. Each one is a thing you can do, not a thing we say.
- 01
Read the source
The client is open. The memory format is published. Nothing about the way your evidence is stored is a secret we hold over you.
- 02
Check the signature yourself
Confirmed records verify offline, with no call to us. Our uptime is not part of your trust model.
- 03
Take it all with you
One command exports every memory as a signed file in a documented format. There is no export ticket and no retention trick.
zephr pack - 04
Status you can audit
Every capability on this page is labelled shipped, in development, or planned — checked against the repository, not the roadmap we wish we had.
Honest value claim
Memory that replaces work, not one that adds context.
Two real measurements — both on SWE benchmarks — show the same direction: a small, well-curated set of grounded evidence is worth more than a large append-only transcript. The two figures below are the only percentages this page quotes, and they are quoted with the source.
Evidence
Domain
Direction of effect
Source
FastContext
A specialized read-only exploration subagent ran ahead of the main agent, returning curated findings rather than leaving the main agent to grep.
+5.5% end-to-end resolution AND −60% main-agent tokens, measured across three SWE benchmarks.
SWE-Skills-Bench
49 additive skills tested against the same SWE benchmark to see whether loading each one helps.
39 of 49 skills produced zero delta. 24 of those had a 100% pass rate with and without — a ceiling effect, not a null result about context.
Evidence scope. Both results are measured on SWE benchmarks. The mechanism — replacing exploration with curated, grounded evidence — is domain-independent; the measurement is not. Non-coding purposes inherit as THIN, never as VERIFIED, until measured in their own domain. Do not cite the +5.5% or −60% figures for a support, sales, or legal surface.
Three jobs. Nine parts. All of it listed.
The complete product, in plain words — with an honest label on every part. Open any row for the full detail; nothing here comes from a roadmap.
Continuity
What your project knows — and how it travels with you.
01MemoryIt remembers your decisions. With receipts.Shipped
It remembers your decisions. With receipts.
Every decision is saved with the files it rested on, the commit, and who approved it. Ask next month — same answer, plus the proof.
- ✓shipped
Decisions dated twice
Each memory carries when it was true and when it was recorded — ask what you believed in November and get November’s answer.
- ✓shipped
Every claim shows its sources
File ranges, commits, and the agent that wrote it travel with the memory.
- ✓shipped
Honest “I don’t know”
When the evidence is not there, recall says so instead of guessing.
- ✓shipped
Edits never overwrite
A change supersedes the old version; history stays readable.
- ✓shipped
Pull a memory from every tool at once
Retract removes a wrong claim everywhere, with an audit trail.
- ✓shipped
Share a memory by link
Signed, expiring read-only URLs — a colleague needs no account to see the decision and its sources.
- ✓shipped
Signed export packs
Take everything with you as a verifiable bundle. No lock-in.
- evolving
Stale citations get flagged
When a cited file changes, the memory is marked — not silently reused.
- ✓shipped
02SlipstreamSwitch tools without losing your work.Shipped
Switch tools without losing your work.
Close Claude Code, open Cursor. Everything you figured out comes along — sealed, checked on arrival, usable once.
- ✓shipped
Sealed handoffs
A handoff is signed, tied to its destination, and works exactly once.
- ✓shipped
Working sets that survive
Pin the memories a long task depends on; the pin outlives context resets.
- ✓shipped
Handoff receipts
Every transfer leaves a signed, exportable audit record.
- ✓shipped
Convergence report
One command shows how aligned your tools are — and flags claims that diverge.
- ✓shipped
Migrate in from other tools
Import what your previous memory tool knew. Escape hatch in, escape hatch out.
- evolving
Cross-device resume
Pick a session up on another machine.
- ✓shipped
03LibraryDocs your AI can actually trust.Shipped
Docs your AI can actually trust.
Agents cite your team docs — and the answer warns you when a doc has gone stale or been replaced.
- ✓shipped
Team docs first
ADRs, runbooks, and architecture docs become citable sources.
- evolving
Freshness in the answer
Every hit is tagged fresh, stale, or replaced — with a link to the successor.
- ✓shipped
Says when it cannot reach a source
An unreachable catalog reads as unreachable, never as a cached guess.
- planned
Curated third-party docs
Held until per-source licensing review passes — deliberately not shipped early.
- ✓shipped
Intelligence
Reading your codebase, and reading your change.
04LensFind code by asking.Local shipped · hosted in development
Find code by asking.
One question searches exact text, symbols, and meaning at once — and tells you which engine answered, so you know how much to trust it.
- ✓shipped
Exact search
Literal and regex matching that honours your ignore rules.
- ✓shipped
Real symbol resolution
Hover, references, definitions, and diagnostics through an actual language server — not text that happens to match.
- evolving
Search by meaning
Describe what the code does; get the code.
- evolving
Relationship queries
“What depends on X?” — and an empty answer names why it is empty.
- evolving
The answer names its engine
Every result says which search answered and at which commit.
- ✓shipped
Private local mode
The full search surface with zero network calls.
- ✓shipped
05ReviewReviews that know what your team already decided.In development
Reviews that know what your team already decided.
Not another opinion bot. It checks the change against decisions your team confirmed — and names the decision it is citing.
- ✓shipped
Findings cite decisions
A finding names the exact version of the confirmed decision it rests on.
- evolving
Shows how much proof it had
Each finding carries a record of which checks backed it.
- evolving
Refuses to guess
“Not enough evidence” is a real answer, not a failure.
- evolving
Same change, same verdict
Re-running a review over the same code gives the same finding, every time.
- planned
Two models must agree on risky changes
Security-critical diffs get a second model from a different vendor; disagreement goes to a person.
- ✓shipped
06PulseSee what your AI actually did.Surface contracts shipped · producer coverage expanding
See what your AI actually did.
What was saved, what went stale, what is being used. When it cannot measure something, it says so — no made-up numbers.
- evolving
Twelve detailed views
Usage, trust health, drift, change radar, index health, storage, system, events, coverage, diagnostics, analytics, activation.
- ✓shipped
Unmeasured means unmeasured
A number Pulse cannot produce renders as a stated gap — never a healthy-looking zero.
- evolving
What-changed detector
When a branch moves, every cited location is re-checked: unchanged, moved, altered, or removed.
- evolving
Freshness on anchors
Every code-anchored claim can show when it was last confirmed; producer coverage is expanding.
- evolving
Control
Which tool sees what, on which machine — and who decides.
07GuardNothing becomes true without a person.Shipped
Nothing becomes true without a person.
AI can suggest what to remember; only a human confirms it. And anything wrong can be pulled from every tool at once.
- ✓shipped
One project per connection
A tool is admitted to one project before its first call; widening access takes a new admission, not an edit.
- ✓shipped
Standing rules
Ten policy switches your agents read before they write — your constraints, machine-enforced.
- ✓shipped
Refusals explain themselves
A blocked write names the rule that fired and the step that would fix it.
- ✓shipped
Check any claim on demand
Nine named integrity checks prove a memory has not been silently corrupted.
- ✓shipped
Trust behaviour tested in CI
A deterministic suite blocks the pipeline when trust behaviour regresses.
- ✓shipped
Full control console
Rules, contradictions, audits, and sources — a real UI, not just an API.
- ✓shipped
08FleetYour setup on every machine. Your keys stay home.Shipped
Your setup on every machine. Your keys stay home.
API keys never travel — only references that resolve on the machine that owns them. A copy of the store is not a copy of your access.
- ✓shipped
One setup, described once
Versioned profiles say which MCP servers each client connects to.
- ✓shipped
Written into every client’s own format
Claude Code, Cursor, Codex, opencode, Windsurf, Amp — each gets its native config.
- ✓shipped
Secrets as references
op://, doppler://, vault:// — the value resolves only on the enrolled device.
- ✓shipped
Checked against the real machine
A plan verifies platform, executables, and secret availability before anything is written.
- planned
Per-device revocation
Cut one machine off without touching the rest.
- ✓shipped
09ConnectOne command sets up every tool.Shipped · npm publish pending
One command sets up every tool.
Finds Claude Code, Cursor, Codex — whatever you use — and wires them all. Setup ends by writing a memory and reading it back.
- ✓shipped
Detects what you already use
Reads the config formats of every installed client.
- ✓shipped
Sign in from the terminal
Standard device-flow login — no pasted tokens.
- ✓shipped
A fixed, tested tool surface
32 tools under a versioned contract checked in CI, so names cannot drift under you.
- ✓shipped
Doctor
Diagnostics with stable IDs — each says what is wrong, why it matters, and how to fix it.
- ✓shipped
Skills, managed
Install, check, and publish agent skills as versioned assets.
- evolving
npm install
Publication pending — build from source is the honest path today.
- ✓shipped
Announced — coming through the same governed door, not shipped yet
Hosted tool gateway — Web search, scraping, docs, Sentry, GitHub — one governed door, one bill, bring-your-own-key at cost.
Extensions — Third-party packages that add tools and signals under one integrity-pinned manifest.
Agent-to-agent delegation — Hand a task to a registered peer agent — seven checks before the call leaves.
Plan → build agents — Sealed plans, isolated execution, cost caps before anything runs.
85 spec-backed capabilities · 32 MCP tools · 61 CLI commands — checked against the repository, every build
Set up once. It works in every AI tool you use.
Zephr keeps one description of your setup and writes it into each tool’s own config format. Your API keys never travel — only references that resolve on the machine that owns them. And when you hand-edit a config, Zephr adopts your edit instead of overwriting it.
Your setup · described once
servers · rules · hooks · models · tool policies
secrets: op:// · vault:// — references only
Claude Code
stdio · hooks · skills
Cursor
native config · MCP
Codex
config.toml · MCP
opencode
native config · MCP
Windsurf
native config · MCP
Amp
native config · MCP
What travels — and what does not
The setup travels to every machine. Your API keys do not — only a reference (op://, vault://) that resolves on the machine that owns the key.
When something changes, it is named — never silently overwritten
- claude-codemcpsyncedmatches what Zephr last wrote
- cursorrulesdriftedyou edited by hand → adopt keeps your edit
- codexhooksconflictboth changed → set aside with a three-way diff
- windsurfmcpnot-installedno config written yet
A copy of the store is not a copy of your access.
A team of AI workers tidies your memory around the clock.
Real LLM workers run while you sleep — sorting, merging, cross-checking, reading your pushes. Routine work files itself with a record of why; anything new waits for a person. Autonomous agents on a budget and a hard deny-list are in development on the same rails.
While you work — every suggestion waits for a person
you
A decision is saved
worker · runs on its own
Sorts what you save
“this one is a decision”
worker · runs on its own
Merges repeats
“five similar notes → one suggestion”
worker · runs on its own
Spots disagreements
“this conflicts with an earlier decision”
worker · runs on its own
Reads your pushes
“that commit changed a decision — noted”
- suggestion
your review queue — you set the leash
You decide how much lands here
your review queue — you set the leash
You decide how much lands here
Routine work handles itself: an exact repeat of a confirmed memory is filed as supporting evidence automatically, with the disposition on record. Anything NEW waits here for a person. And agents that act on the queue for you — budgeted, deny-listed, proposing through PRs — are in development, built on this same pipeline.
step 6 of 6
Every suggestion lands in your queue for a person to decide — and the helpers’ AI spend is capped per day. The cap is enforced, not advisory.
It remembers your decisions. With receipts.
Not a transcript — a ladder. What you save moves up only through review, and asking what you believed in November gets November’s answer with the proof it rested on then.
edits never overwrite — the old version stays readable, forever
one retraction, every tool — a wrong memory is pulled everywhere — with a record of who pulled it
- L0
Something happened
saved as-is, nothing invented
- L1
It might matter
suggested for your review
- L2
You confirmed it
now it counts — with its sources
- L3
Patterns emerge
plannedseveral events, one lesson
- L4
The task set
plannedwhat this task needs right now
- L5
House rules
plannedwhat must always hold
Payment retries are capped at 3 attempts.
confirmed · sources attached
Saved things move up only through review — never on their own
A full AI code review — plus five checks nobody else can run.
Everything you expect from a review bot — security, correctness, tests, performance and the rest — and then the part only Zephr can do: checking your change against decisions your team actually confirmed, and naming the decision it cites.
Five checks only Zephr can run
- 01
contradicts a confirmed decision
the change disagrees with something your team approved
- 02
scope-binding violation
it reaches outside the project the agent was admitted to
- 03
architecture drift
it diverges from a recorded architecture decision
- 04
evidence completeness
the claim is not backed by what it cites
- 05
organizational learning
a finding your team already dismissed, not raised again
On top of the full standard review — the nine checks every serious reviewer runs: security · correctness · tests · concurrency · dependencies · i18n · accessibility · docs · performance.
severity highsummary raises the retry cap to fourcontradicts a decision your team confirmed:"retries capped at three attempts"adr/031-retry-policy.md · rev 2 · 2026-02-14confidence is computed from the evidence,never self-reported by the model
Illustrative example — not live data
It escalates only as far as the change deserves
- 0Diff onlythe change on its own
- 1Code-groundedplus the surrounding code it touches
- 2Decision-awareplus your recorded decisions and their provenance
- 3Agenticplus tool use, for security-critical changes
Security-critical changes get a second model from a different vendor, and the two have to agree. When they cannot, a person decides — a model never closes a dispute. When the evidence is not there, the review abstains and says so.
Ask why
Ask any answer: where did that come from?
Point at any memory and Zephr replays where it came from: the exact file and line cited when it was captured, the commit it landed at, its review state, everything that contradicts it, and anything that superseded it.
A memory whose cited file has changed is flagged rather than quietly reused. That is the difference between a store that remembers and one that can be trusted.
Ask why
“Payment webhook retries are capped at three attempts with exponential backoff.”
- 01Source
apps/billing/src/webhooks/stripe.ts, cited when the decision was recorded
- 02Commit
e4c1f9a, landed 2026-02-11
- 03Review
Confirmed by a human reviewer on 2026-02-14
- 04Contradicts
One open change proposing a cap of four — held for a person
Illustrative example — not live data
Your agent gets five search engines. In one question.
Most agents grep and guess. Yours gets exact text, symbols, meaning, relationships, and cross-project search in a single tool — so it finds the right code instead of the first match, and every result names the engine that answered.
$ zephr search "requireAuth" --exact
middleware/auth.ts:12 export function requireAuth(routes/billing.ts:8 import { requireAuth }12 more matches across 9 files
Literal and regular-expression matching, per-line, honouring your ignore rules.
ShippedIllustrative example — not live data
An agent may propose. Only a person confirms.
AI can suggest what to remember. Only a person confirms it. These six rules hold that line.
project A — admitted
Widening access takes a new admission — not an edit
- 01
Only a person confirms what is new
Nothing new becomes confirmed without an authenticated human. Under rules you set, automation may file repeats and refinements of decisions you already confirmed — with a recorded reason — and it can always flag or demote.
- 02
Refusals name the fix
A refused capture comes back with the rule that fired and the concrete step that would make it admissible. Never a bare error.
- 03
Scope cannot widen underneath you
A connection is bound to one project before its first tool call. Widening it takes a new admission, not an edit to a running session.
- 04
Verifiable without us
Confirmed records carry attestations that check out offline. You do not have to call our service to believe a decision is real.
- 05
Nine integrity checks, on demand
Any memory can be checked for a broken version chain, overlapping revisions, or provenance that no longer resolves.
- 06
It refuses rather than guesses
When evidence is missing or two records disagree, Zephr says so and shows the gap instead of averaging them into a confident sentence.
Yours stays yours.
One memory that’s yours: your preferences, your notes, your shortcuts. It follows you across projects and tools — and your teammates’ search can never see it.
follows you across every project and tool
I prefer table-driven tests over snapshot tests.
yours · every project
My draft notes on the queue redesign.
yours · not shared
Shortcut: our staging DB reset command.
yours · every tool
Illustrative example — not live data
Want it never to leave the machine at all?
Local mode: one file on your disk. Offline. No account. The same review flow and the same signatures, scaled down.
Hand work to the next tool — sealed, checked on arrival.
A handoff is signed, tied to its destination, and works exactly once. Don’t take our word for it — corrupt a byte and watch the receiving side refuse it.
Illustrative example — not live data
One layer under every tool. Six kinds of waste, gone.
No invented percentages — you would not believe them anyway. Instead: the specific waste each part removes, stated so you can check it against your own week.
Without the layer
With it
Rides on
Context, every session
withoutRe-explain the project to every fresh session — and pay tokens for the re-telling.
withThe agent recalls confirmed decisions instead of re-reading half the repo to guess them.
memory + recall
Code quality
withoutAgents re-propose ideas your team already rejected, and reviews re-litigate them.
withThe ruled-out option is flagged the moment it reappears — in the session and in review.
review · contradicts-a-confirmed-decision
Retrieval precision
withoutOne grep, first match wins — the agent patches the wrong copy of the pattern.
withFive engines answer one question; the result names which engine found it and why.
search · five modes
Tool switching
withoutEvery switch between Claude Code and Cursor restarts the conversation from zero.
withA sealed handoff carries the working set across — verified on arrival, used once.
signed handoff
Team knowledge
withoutFour people ask the same question in four editors and get four different answers.
withOne confirmed answer, with its sources, in whichever tool asks.
shared memory (cloud)
Maintenance
withoutStale knowledge silently rots until an agent confidently cites it.
withBackground workers flag staleness and contradictions overnight — suggestions, on record.
background workers
The compounding effect: every decision you confirm makes every future session, review, and teammate slightly cheaper — because it is answered once, with proof, instead of re-derived each time it comes up.
Built for code. Useful anywhere decisions pile up.
Six positions, six honest badges. The developer paths are the furthest along; the rest use the same memory and say exactly how early they are.
Capture where the decision happened:
TelegramEmailClaude ConnectorsRaycastBuilt — store listings still pendingEverything your agents can reach, through one door you control.
32 tools any connected agent can call, 61 CLI commands for you — every call logged, every list below checked against the product source in the test suite. Here is what they actually do.
Memory & trust
19Save, recall, verify, and hand off what the project knows.
- zephr_recallask what the project knows
- zephr_remembersave a decision with its sources
- zephr_verifycheck a memory’s receipts
- zephr_whytrace where an answer came from
+ 15 moreshow fewer
- zephr_rulesread the house rules for this repo
- zephr_reviewreview a change against your decisions
- zephr_review_usagesee what reviews cost
- zephr_sessionhand a session to the next tool
- zephr_statuscheck what’s connected and healthy
- zephr_sync_statussee whether every tool is in sync
- zephr_timelineget session timeline handles
- zephr_get_observationsfetch verbatim L0 by explicit ID
- zephr_graph_queryask how memories connect
- zephr_how_to_obtainacquire a missing capability
- zephr_tools_searchsearch the canonical tool catalog
- zephr_tools_executeexecute a tool by name
- zephr_adminmanage your workspace
- zephr_constraintgate an action on the rules you set
- zephr_activateplan your next step — tools picked, reasons shown
Search your code
3Exact text, symbols, or meaning — the result names which engine answered.
- zephr_grepfind exact text in your code
- zephr_lspfind symbols and definitions
- zephr_searchfind code by meaning
Your docs
2Team docs your agents can cite — with staleness warnings.
- zephr_docssearch your team’s docs
- zephr_filesbring uploaded files into the governed vault
The web & your services
8The outside world, reached through the same door — every call logged.
- tavily_searchsearch the web
- firecrawl_scraperead a web page as clean text
- browser_renderopen a page, bring back a snapshot
- context7_calllook up current docs for any library
+ 4 moreshow fewer
- github_apiread issues, PRs, and files on GitHub
- sentry_querycheck production errors
- linear_searchsearch your Linear issues
- supabase_queryquery your Supabase project
And a full CLI for you61 commandsshow all →hide
Bootstrap
- zephr connectJ1 cold-start: auth, project, MCP config, admission, recall
- zephr connect-hooksLifecycle-hook installation surface; real installer is `zephr hook install --write`
- zephr initFirst-run: OAuth login, project setup, zephrd install
- zephr loginAuthenticate via device flow (RFC 8628)
- zephr mcpWrite the Zephr MCP server into agent CLI configs
State
- zephr daemonStart the zephrd sidecar daemon
- zephr dshInspect or launch the local DeepSeek Harness loadout
- zephr doctorRun on-box diagnostics (binary, daemon, handshakes)
- zephr healthCheck zephrd status and MCP handshake
- zephr statusShow runtime state, daemon health, and current project
- zephr activateProject-grounded MCP/skill activation plan (read-only/dry-run, config via `get|set|reset`)
- zephr upgradeCheck current vs latest zephrd release (no download)
- zephr sessionSession tooling: per-session token ledger (tokens, cache split, compactions)
- zephr usageAccount + review-specific spend from the billing ledger (usage review)
Evidence
- zephr rememberCapture a belief (composed-of the on-box store)
- zephr noteCapture a quick human note as an L0 observation (opt-in tap)
- zephr verifyVerify a belief's structural (T1) + consistency (T2)
- zephr verify-claimAlias for verify
- zephr whyExplain provenance of a belief version
- zephr preflightPlan-time advisory verification (shape + belief-graph link check)
Continuity
- zephr handoffMint a signed Continuity v1.1 handoff packet
- zephr packExport a signed Memory Pack of a worktree's beliefs
- zephr proveVerify a Continuity packet and emit a provenance assertion
- zephr audit-packAssemble a per-day audit pack with covering Merkle roots and proofs
- zephr receiptsExport the installation's Slipstream audit receipts
- zephr resumeImport a handoff via the shared import pipeline
- zephr unpackVerify and import a Memory Pack into a worktree
Source
- zephr grepSearch files in an admitted worktree (gitignore-aware)
- zephr recallQuick recall test against your memories
- zephr searchUnified search across admitted worktrees
- zephr filesUser-file vault (list / read-markdown / governed erase / upload-init)
- zephr shareMint a signed read-only URL for a memory excerpt (7d TTL)
Trust
- zephr reviewRun an LLM-augmented governed review of a code change.
- zephr roleList available agent roles
- zephr constraintHuman-gated governance constraint surface (ZEP-1941 W6): CRUD, promote/demote, evaluate-shadow, confirm-from-edge, waiver create. Durable writes go through injected @zephr-ai/governance ports.
Connect
- zephr agent-cardValidate (fetch + SSRF-safe reachability + schema) and
- zephr extensionValidate a zephr.extension.json + verify the sha512 pin
- zephr importDetect local agent-tool config and push an adopt manifest to the cloud engine.
- zephr integrationsList installed integration connections + status
- zephr hostsEmit a host-pack from the declarative platform-integration schema
- zephr notificationsList the notification feed (newest first)
- zephr profileSwitchable agent-config bundles (fleet-profile manager)
- zephr powerHost-lane preview: print official knobs; --yes writes Codex TOML only
- zephr sourcesDeclare a loopback openai-compatible source (IPv4/IPv6 loopback only)
- zephr signalProvision an encrypted webhook secret + register producers
- zephr syncThe unified reconciliation loop over the canonical WorkspaceSnapshot.
- zephr workspacePortable agent workspace (Phase 1: Tier-1 deep surface)
- zephr piDetect, project, and launch Pi (pi.dev); mint a signed handoff on exit [--mode] [--profile] [--dry-run]
Surfaces
- zephr continuityPer-agent state + convergence score
- zephr memoryRender the scope lattice as a live tree
- zephr skillsShow a skill's header + markdown body
- zephr toolsList the daemon's tool catalog (tier + pin)
- zephr podCompute-plane pods — list, show, launch, terminate, pause, resume, logs, exec, mcp, acp, egress-audit (devpod is a deprecated alias handled inside the CLI)
- zephr devpodPhase-2 devpod stub — enqueue profile materialization for a fleet profile
- zephr tastePerson-scoped coding conventions — enable / disable / export / reset
Extensibility
- zephr agentCreate, run, list and inspect autonomous agents.
- zephr hookShow the lifecycle hook capability matrix
- zephr tapsDev-native capture taps: honest readiness, ingest drain, shell hook snippet
- zephr uninstallRemove local Zephr data (preserves SQLite backups)
Memory
- zephr timelineChronological session context (recall ladder L2) — handles, never full content
- zephr observationsRecall ladder L3: fetch verbatim L0 observations by explicit ID
What Zephr can count, it counts. What it cannot, it says.
22
Tools your agents reach without you wiring each one
one credential surface, one audit trail
5
Ways to ask, so you stop guessing which search to use
the answer names the engine behind it
9
Things checked before a memory is trusted
run any time, on any record
14
Angles every pull request is read from
five of them nobody else can run
When Zephr cannot measure something, it prints the gap instead of a zero — so a green number always means the thing was actually checked.
also reported: usage · trust health · drift feed · index health · storage · system health · events stream · coverage · diagnostics bundle
Cloud
Live signup · managed tiers plannedYour memory follows you between machines, your team shares one account of what was decided, and every console surface is live. Meaning-based recall runs here.
Local
FreeOne file on your disk, offline, no account — the same review flow and signatures on one machine only. The trades: no sync, no team memory, local-index recall.
Two ways in.
Cloud
Sign up, connect a client, and you are recording decisions in about a minute. No install.
Local, free
npm publication not shipped yetBuild from source while the package is unpublished.
git clone https://github.com/DigitalSoftDistribution/zephr.gitpnpm install && pnpm buildAsked first, answered plainly.
Is this just another vector database for agent memory?
No. Retrieval is the easy half. Every memory carries the files it cited, the commit it landed at, the agent that wrote it and its human review state — and when two memories contradict each other, recall says so and names what is missing.
What happens when a cited file changes?
The memory is flagged as stale rather than deleted or quietly reused. You see what moved and either re-pin the citation or supersede the memory. History is append-only, so what you superseded stays readable.
Is local mode a self-hosted server for my team?
No. Local mode is a free, single-device path: one file on your disk, offline, no account. Cross-machine sync, shared team memory, hosted recall and the console are cloud features.
Which agents work today?
Claude Code, Cursor and Codex have first-party adapters. Any other MCP client connects through the same tool surface — a newer path, so treat it as less battle-tested.
Record one decision. Open a different editor. See if it is still there.
That is the whole product in one test, and it takes about a minute. Hosted access is an invitation-only beta; local mode is free on one machine, and every limit is stated up front rather than discovered later. Your memory exports as a signed file in a public format, so if you leave, you take it with you.